[INFO] cloning repository https://github.com/agmcleod/adventofcode-2019
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/agmcleod/adventofcode-2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagmcleod%2Fadventofcode-2019", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagmcleod%2Fadventofcode-2019'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f1e8338290905d5c8f8d7d23dbe079f13134e4d1
[INFO] checking agmcleod/adventofcode-2019 against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagmcleod%2Fadventofcode-2019" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/agmcleod/adventofcode-2019 on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/agmcleod/adventofcode-2019
[INFO] finished tweaking git repo https://github.com/agmcleod/adventofcode-2019
[INFO] tweaked toml for git repo https://github.com/agmcleod/adventofcode-2019 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/agmcleod/adventofcode-2019 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0b0678b820560b410e3b90bbe81b64990a61574a6c74a568f6692e1bfd5014a5
[INFO] running `Command { std: "docker" "start" "-a" "0b0678b820560b410e3b90bbe81b64990a61574a6c74a568f6692e1bfd5014a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0b0678b820560b410e3b90bbe81b64990a61574a6c74a568f6692e1bfd5014a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b0678b820560b410e3b90bbe81b64990a61574a6c74a568f6692e1bfd5014a5", kill_on_drop: false }`
[INFO] [stdout] 0b0678b820560b410e3b90bbe81b64990a61574a6c74a568f6692e1bfd5014a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8243966ab3db9039f11c56378e20926c65a3030bf8230b3e4004a183b186631f
[INFO] running `Command { std: "docker" "start" "-a" "8243966ab3db9039f11c56378e20926c65a3030bf8230b3e4004a183b186631f", kill_on_drop: false }`
[INFO] [stderr]     Checking read_input v0.1.0 (/opt/rustwide/workdir/read_input)
[INFO] [stderr]     Checking intcode v0.1.0 (/opt/rustwide/workdir/intcode)
[INFO] [stderr]     Checking permutohedron v0.2.4
[INFO] [stderr]     Checking four v0.1.0 (/opt/rustwide/workdir/4)
[INFO] [stderr]     Checking twelve v0.1.0 (/opt/rustwide/workdir/12)
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking fourteen v0.1.0 (/opt/rustwide/workdir/14)
[INFO] [stderr]     Checking eightteen v0.1.0 (/opt/rustwide/workdir/18)
[INFO] [stderr]     Checking one v0.1.0 (/opt/rustwide/workdir/1)
[INFO] [stderr]     Checking six v0.1.0 (/opt/rustwide/workdir/6)
[INFO] [stderr]     Checking sixteen v0.1.0 (/opt/rustwide/workdir/16)
[INFO] [stderr]     Checking twentyfour v0.1.0 (/opt/rustwide/workdir/24)
[INFO] [stderr]     Checking twenty v0.1.0 (/opt/rustwide/workdir/20)
[INFO] [stderr]     Checking five v0.1.0 (/opt/rustwide/workdir/5)
[INFO] [stderr]     Checking nine v0.1.0 (/opt/rustwide/workdir/9)
[INFO] [stderr]     Checking ten v0.1.0 (/opt/rustwide/workdir/10)
[INFO] [stderr]     Checking nineteen v0.1.0 (/opt/rustwide/workdir/19)
[INFO] [stderr]     Checking twentyone v0.1.0 (/opt/rustwide/workdir/21)
[INFO] [stderr]     Checking twentyfive v0.1.0 (/opt/rustwide/workdir/25)
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> 25/src/main.rs:112:47
[INFO] [stdout]     |
[INFO] [stdout] 112 |     intcode::run_program(&mut program, true, |state, value| {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking seven v0.1.0 (/opt/rustwide/workdir/7)
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking twentythree v0.1.0 (/opt/rustwide/workdir/23)
[INFO] [stderr]     Checking fifteen v0.1.0 (/opt/rustwide/workdir/15)
[INFO] [stdout] warning: function `part_one` is never used
[INFO] [stdout]   --> 5/src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn part_one(base_program: &Vec<i32>, working_numbers: &mut Vec<i32>) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking seventeen v0.1.0 (/opt/rustwide/workdir/17)
[INFO] [stderr]     Checking thirteen v0.1.0 (/opt/rustwide/workdir/13)
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> 23/src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     'main: loop {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> 23/src/main.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | /     'main: loop {
[INFO] [stdout] 33 | |         let mut sent_packets_this_step = false;
[INFO] [stdout] 34 | |         for address in 0..nics.len() {
[INFO] [stdout] 35 | |             let ai64 = address as i64;
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |         }
[INFO] [stdout] 88 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 89 |
[INFO] [stdout] 90 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Direction::Down`
[INFO] [stdout]  --> 15/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::Direction::Down;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> 15/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> 15/src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> 23/src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     'main: loop {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sent_to_addr_zero`
[INFO] [stdout]   --> 23/src/main.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut sent_to_addr_zero = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sent_to_addr_zero`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking eight v0.1.0 (/opt/rustwide/workdir/8)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> 23/src/main.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | /     'main: loop {
[INFO] [stdout] 33 | |         let mut sent_packets_this_step = false;
[INFO] [stdout] 34 | |         for address in 0..nics.len() {
[INFO] [stdout] 35 | |             let ai64 = address as i64;
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |         }
[INFO] [stdout] 88 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 89 |
[INFO] [stdout] 90 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> 23/src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut sent_to_addr_zero = 0;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sent_to_addr_zero`
[INFO] [stdout]   --> 23/src/main.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut sent_to_addr_zero = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sent_to_addr_zero`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> 23/src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut sent_to_addr_zero = 0;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking eleven v0.1.0 (/opt/rustwide/workdir/11)
[INFO] [stdout] warning: function `part_one` is never used
[INFO] [stdout]   --> 5/src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn part_one(base_program: &Vec<i32>, working_numbers: &mut Vec<i32>) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Up`, `Left`, `Right`, and `Down` are never constructed
[INFO] [stdout]   --> 17/src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum FacingDirection {
[INFO] [stdout]    |      --------------- variants in this enum
[INFO] [stdout] 29 |     Up,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 30 |     Left,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 31 |     Right,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     Down,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FacingDirection` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotate` is never used
[INFO] [stdout]   --> 17/src/main.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl FacingDirection {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 36 |     fn rotate(&mut self, turn: TurnDirection) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]   --> 17/src/main.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | enum TurnDirection {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] 72 |     Left,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 73 |     Right,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TurnDirection` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_string` is never used
[INFO] [stdout]   --> 17/src/main.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl TurnDirection {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 77 |     fn as_string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_by_direction` is never used
[INFO] [stdout]    --> 17/src/main.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn move_by_direction(tiles: &Tiles, coord: &mut Coord, direction: &FacingDirection) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_commands` is never used
[INFO] [stdout]    --> 17/src/main.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn build_commands(tiles: &Tiles, robot_coord: &Coord) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_index` is never used
[INFO] [stdout]    --> 17/src/main.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_next_index(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `direction` is never read
[INFO] [stdout]   --> 15/src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct Work {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     direction: Direction,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Direction::Down`
[INFO] [stdout]  --> 15/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::Direction::Down;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> 15/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> 15/src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> 25/src/main.rs:112:47
[INFO] [stdout]     |
[INFO] [stdout] 112 |     intcode::run_program(&mut program, true, |state, value| {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking three v0.1.0 (/opt/rustwide/workdir/3)
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 13/src/main.rs:36:32
[INFO] [stdout]    |
[INFO] [stdout] 36 |           if output_counter == 1 {
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 37 | |             tile.0 = output;
[INFO] [stdout] 38 | |         } else if output_counter == 2 {
[INFO] [stdout]    | |_________^ expected `bool`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 13/src/main.rs:38:39
[INFO] [stdout]    |
[INFO] [stdout] 38 |           } else if output_counter == 2 {
[INFO] [stdout]    |  _______________________________________^
[INFO] [stdout] 39 | |             tile.1 = output;
[INFO] [stdout] 40 | |         } else {
[INFO] [stdout]    | |_________^ expected `bool`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 13/src/main.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |           } else {
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 41 | |             tile.2 = TileType::from_number(output as usize);
[INFO] [stdout] 42 | |             output_counter = 0;
[INFO] [stdout] 43 | |             tiles.push(tile);
[INFO] [stdout] 44 | |         }
[INFO] [stdout]    | |_________^ expected `bool`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `thirteen` (bin "thirteen") due to 4 previous errors
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 13/src/main.rs:36:32
[INFO] [stdout]    |
[INFO] [stdout] 36 |           if output_counter == 1 {
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 37 | |             tile.0 = output;
[INFO] [stdout] 38 | |         } else if output_counter == 2 {
[INFO] [stdout]    | |_________^ expected `bool`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 13/src/main.rs:38:39
[INFO] [stdout]    |
[INFO] [stdout] 38 |           } else if output_counter == 2 {
[INFO] [stdout]    |  _______________________________________^
[INFO] [stdout] 39 | |             tile.1 = output;
[INFO] [stdout] 40 | |         } else {
[INFO] [stdout]    | |_________^ expected `bool`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> 13/src/main.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |           } else {
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 41 | |             tile.2 = TileType::from_number(output as usize);
[INFO] [stdout] 42 | |             output_counter = 0;
[INFO] [stdout] 43 | |             tiles.push(tile);
[INFO] [stdout] 44 | |         }
[INFO] [stdout]    | |_________^ expected `bool`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `thirteen` (bin "thirteen" test) due to 4 previous errors
[INFO] [stdout] warning: variants `Up`, `Left`, `Right`, and `Down` are never constructed
[INFO] [stdout]   --> 17/src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum FacingDirection {
[INFO] [stdout]    |      --------------- variants in this enum
[INFO] [stdout] 29 |     Up,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 30 |     Left,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 31 |     Right,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     Down,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FacingDirection` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotate` is never used
[INFO] [stdout]   --> 17/src/main.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl FacingDirection {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 36 |     fn rotate(&mut self, turn: TurnDirection) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]   --> 17/src/main.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | enum TurnDirection {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] 72 |     Left,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 73 |     Right,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TurnDirection` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_string` is never used
[INFO] [stdout]   --> 17/src/main.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl TurnDirection {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 77 |     fn as_string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_by_direction` is never used
[INFO] [stdout]    --> 17/src/main.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn move_by_direction(tiles: &Tiles, coord: &mut Coord, direction: &FacingDirection) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_commands` is never used
[INFO] [stdout]    --> 17/src/main.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn build_commands(tiles: &Tiles, robot_coord: &Coord) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_index` is never used
[INFO] [stdout]    --> 17/src/main.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_next_index(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]  --> 3/src/math.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     (q.0 <= max(p.0, r.0) && q.0 >= min(p.0, r.0) && q.1 <= max(p.1, r.1) && q.1 >= min(p.1, r.1))
[INFO] [stdout]   |     ^                                                                                            ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 9 -     (q.0 <= max(p.0, r.0) && q.0 >= min(p.0, r.0) && q.1 <= max(p.1, r.1) && q.1 >= min(p.1, r.1))
[INFO] [stdout] 9 +     q.0 <= max(p.0, r.0) && q.0 >= min(p.0, r.0) && q.1 <= max(p.1, r.1) && q.1 >= min(p.1, r.1)
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]  --> 3/src/math.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     (q.0 <= max(p.0, r.0) && q.0 >= min(p.0, r.0) && q.1 <= max(p.1, r.1) && q.1 >= min(p.1, r.1))
[INFO] [stdout]   |     ^                                                                                            ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 9 -     (q.0 <= max(p.0, r.0) && q.0 >= min(p.0, r.0) && q.1 <= max(p.1, r.1) && q.1 >= min(p.1, r.1))
[INFO] [stdout] 9 +     q.0 <= max(p.0, r.0) && q.0 >= min(p.0, r.0) && q.1 <= max(p.1, r.1) && q.1 >= min(p.1, r.1)
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `direction` is never read
[INFO] [stdout]   --> 15/src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct Work {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     direction: Direction,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8243966ab3db9039f11c56378e20926c65a3030bf8230b3e4004a183b186631f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8243966ab3db9039f11c56378e20926c65a3030bf8230b3e4004a183b186631f", kill_on_drop: false }`
[INFO] [stdout] 8243966ab3db9039f11c56378e20926c65a3030bf8230b3e4004a183b186631f
